iT邦幫忙

2026 iThome 鐵人賽

DAY 21
0

https://ithelp.ithome.com.tw/upload/images/20260807/20183265Ejfp7K5whH.jpg

半年的期限轉眼間過去了三個月。你成功讓組織的價值流動了起來——價值流被視覺化可見、系統瓶頸得到妥善保護、快速反饋機制順利建立,業務(Biz)與技術(IT)也終於學會看著同一個商業儀表板對話。團隊規模從 15 人迅速成長到 45 人,AI Agent 產品也正式進入了緊張的測試階段。

然而就在昨晚凌晨兩點,線上又出事了。同類型的低級配置錯誤,已經是今年的第三次。


場景:那個一再重演的惡夢

早上九點,會議室裡黑壓壓地坐滿了人。

你面無表情地投影出事故報告:「今天凌晨 2:17,API Gateway 配置錯誤,導致服務中斷了整整 43 分鐘,影響了 320 位核心付費用戶。」

「這已經是今年第三次發生同樣的事故了。」你用手指敲了敲桌面。「2 月份改錯資料庫超時(Timeout)設定的是誰?」

Platform Lead 默默舉起手:「是我。」

「5 月份那次改錯頻率限制(Rate Limit)的又是誰?」

Data Lead 低下頭:「是我。當時修改時沒注意到它對下游服務的聯動影響。」

「那昨晚這一次呢?」

新招募進來的 SRE 工程師滿臉通紅,聲音微弱:「是我。我以為已經在 Staging 環境測試過了,沒想到 Production 生產環境的配置格式會不一樣——」

他們每個人都是極優秀、極負責任的工程師,在按下部署按鈕的當下,他們都真誠地認為「我很清楚自己此時在做什麼」。

但同一個坑,團隊依然踩了三次。

財務長發來緊急簡訊:「這次事故賠償金為 1.8 萬美元,今年同類事故已累計賠償 4.7 萬美元。董事會今天下午點名要聽檢討報告。」

人資長也來詢問:「Bill,需要對這名新同仁啟動內部紀律懲處程序嗎?」


兩難:究責?還是學習?

此時,你站在歷史的十字路口:

🔴 選項 A:追究責任歸屬,給予記過懲處,要求「工作更小心」 🔵 選項 B:將失敗轉化為組織資產,全面建立安全實驗文化
短期效益:✓ 快速找出人背鍋,平息董事會與財務部門的怒火✓ 給外界一種「管理層有在積極處理」的雷厲風行假象長期代價:✗ 滋生推諉、甩鍋與隱瞞的組織惡習,沒人敢說真話✗ 系統缺陷未除,下一次只會換個工程師名字再次爆炸結果:✗ 懲罰失敗,最終只會得到更善於隱瞞失敗的團隊 短期代價:✗ 需要克制「靠懲罰樹立威嚴」的直覺,前期需頂住壓力✗ 內部可能會產生「犯錯卻不用負責」的短視質疑長期效益:✓ 同類事故不再重複上演,系統性的漏洞被徹底修補✓ 團隊具備高度心理安全感,將錯誤沉澱為寶貴知識資產結果:✓ 組織由「懲罰失敗」升級為「主動萃取失敗」

先別往下捲。

如果是你,現在就要做出決定。是找一個戰犯開刀以平息眾怒,還是痛定思痛、從根本上改變組織的文化?


翻牌:為什麼「以後工作小心點」從來都沒用

正確答案是 選項 B

這無疑是管理中最反直覺的一課。人的直覺反應永遠是:「系統出錯了,把犯錯的人找出來並懲罰他,大家下次就不敢再犯了。」

但在《鳳凰專案》中,精實生產專家 Erik 傳授給 Bill 最核心的 第三航道(The Third Way:持續學習與實驗,Continual Learning and Experimentation),其精髓正是為了解構這個致命的迷思。

在現代複雜系統中,失敗不是要被刻意掩蓋或消滅的,它是必須被系統性萃取的珍貴資產。

回頭審視這三次事故:

  • 2 月改錯 Timeout,事後檢討結論是「要求工程師以後更小心」。
  • 5 月改錯 Rate Limit,事後檢討結論是「以後加強測試」。
  • 昨晚新同仁再次踩雷,因為根本沒有任何機制提醒他兩邊環境的配置格式有差異。

三名好工程師都被要求「工作要小心」,但系統的脆弱本質從來沒有改變過。

要求員工「以後小心點」本質上是管理者的懶惰——這是試圖把架構缺陷推給個人的肉體,而不是去修改系統本身。人類會疲倦、會分心、會因為資訊不對稱做出錯誤的推論。如果你的系統設計,允許一次個人的微小疏忽就能輕易讓服務中斷、影響 320 位核心客戶,那問題的元兇根本不是犯錯的人,而是容許錯誤發生的脆弱系統。

技術主管 Bill Palmer 後來深刻領悟到:英雄式的救火文化反面,並不是要求團隊「不再出錯」,而是**「每一次的出錯,都必須成為讓系統變得更為強壯的養分」**。

回想一下我們在 Day 5(救火文化讓組織上癮)與 Day 10(救火英雄與預防工程師的博弈)中所學到的——核心在於「不要將手動救火當作團隊榮耀」。

到了 Day 21,我們需要邁出下一步:當大火已經燒起來了,你該如何從廢墟中萃取出能讓下次大火不再重演的工程知識?

第三航道的核心實踐:將失敗轉為資產

高績效組織的特徵,從來不是「從不失敗」,而是「在失敗後學習與修補的速度比競爭對手更快」。

第三航道(The Third Way)的落地包含三大要素:

  1. 建立心理安全感:確保同仁敢於第一時間說出真話,不隱瞞漏洞。
  2. 鼓勵科學快速實驗:容許在可控邊界內進行小範圍失敗以驗證新架構。
  3. 制度性學習:把每一次線上事故,沉澱為組織可共享的集體記憶。

這就是 Google、Netflix 與 Amazon 等頂尖科技公司奉行不悖的無指責文化(Blameless Culture)

它絕不代表沒有人需要負責,而是責任的定義被重構了:團隊的職責在於「積極修改有缺陷的系統」,而非「懲罰犯錯的個體」


如果有 AI Agent:把每次線上事故自動變成一張學習卡

問題在於,依靠肉身去維護「從失敗中學習」的文化非常困難。人類健忘、且存在防衛心理,久而久之事故報告就成了 Confluence 裡沒人翻閱的垃圾。

此時,AI Agent 可以發揮關鍵價值:在事故發生當下,自動收集上下文數據,並萃取為結構化的「事故學習卡」。

graph TD
    A[事故發生] --> B[Agent 自動收集]

    B --> B1[監控 log]
    B --> B2[部署記錄]
    B --> B3[config 變更]
    B --> B4[Slack 對話]
    B --> B5[事後檢討會議]

    B1 --> C[Agent 重建時間軸]
    B2 --> C
    B3 --> C
    B4 --> C
    B5 --> C

    C --> D[Agent 萃取結構化知識]

    D --> D1[這次發生什麼?<br/>API Gateway 配置錯誤]
    D --> D2[為什麼會發生?<br/>staging/prod 格式不同]
    D --> D3[根因鏈是什麼?<br/>配置未驗證 + 文件缺失]
    D --> D4[怎麼自動預防?<br/>CI 加格式檢查 + pre-deploy 驗證]

    D1 --> E[產出「事故學習卡」]
    D2 --> E
    D3 --> E
    D4 --> E

    E --> F[累積成「事故知識庫」]

    F --> G[下次類似變更時<br/>Agent 主動提醒:<br/>「2026-07-26 這類配置<br/>曾導致事故,建議先檢查...」]

Agent 自動記錄下所有真實軌跡,將其結構化歸檔。

當第四位工程師未來試圖提交類似的變更 PR 時,AI Agent 就會自動在其 Pull Request 下方貼上精準的風險提醒:

[!WARNING]

⚠️ 高風險配置變更警示

  • 歷程警示:此類型配置變更在過去 6 個月內曾累計導致 3 次線上重大事故
  • 最近一次故障2026-07-26 02:17
  • 根因鏈分析:Staging 測試環境與 Production 生產環境的配置檔格式存在微小不一致。
  • 安全實踐建議
    1. 請先執行 config-validator.sh 腳本進行靜態驗證。
    2. 核對 production.yaml 格式是否與官方最新 Template 範本百分百相符。
    3. 採用金絲雀部署(Canary),先開放 5% 流量進行小規模驗證。
  • 詳細案例分析:請參閱 事故學習卡:event-2026-07-26-api-gateway

第四次相同的低級錯誤,根本就沒有機會在生產環境發生。


現場推演:如何讓團隊的思維從「誰的錯」變為「修系統」

我們來看一個 2026 年中型團隊的改造效益:

想像一個 50 人的 SaaS 研發組織,過去每個月平均發生 4.2 次線上事故,且有超過半數是同類型錯誤的反覆重演。每次事故後的檢討會議都在尋找「到底是誰點錯了配置」,隨後在 Wiki 上草草記錄了 87 篇無人翻閱的事故報告。

VP Engineering 隨後採取了三項根本性的變革:

  1. 重構檢討會議:開會的第一句強制要求「我們假設在當下,每個人都做出了他能做出的最優決定。不准提及任何人名,只談系統漏洞。」
  2. 建置 Agent 事故知識庫:將歷史的 87 篇 PDF 報告交由 AI 自動解析並與代碼庫建立 RAG 關聯,在工程師進行高危操作時主動在 CI/CD 發出警告。
  3. 將「系統免疫力」納入考核:不再考核「發生了幾次事故」,而是改為考核「團隊為系統加固並關閉了多少個安全漏洞」。

六個月後的效能數據對比:

🏢 2026 年導入「事故知識庫與無指責文化」六個月後效益比對:

  • 🚨 月均線上事故次數:由月均 4.2 次降至 1.1 次
  • 🩹 同類重複事故佔比:由原先高達 60% 驟降至 18%
  • 🗣️ 「我敢在組織說真話」安全感調查:由原先的 43% 顯著攀升至 78% ── 團隊對話文化徹底轉變。

最關鍵的變化在於:當事故發生時,同仁的第一反應不再是「糟糕,這是誰寫的代碼」,而是「太好了,系統又有一個漏洞可以被我們封堵了」。

回到當天早上的會議室。

你宣佈了全新的規則:「過去這三次事故,我們都在形式上要求同仁『以後要小心』。結果是三名優秀的工程師踩了同一個坑。從今天起,我們徹底廢除對人的處罰,出事不找戰犯,我們只找系統缺口。」

你列出了具體的加固計畫:

  1. CI 流水線中加入自動化配置格式驗證,Staging 與 Production 環境的 yaml 格式強制一致。
  2. 往後所有的 Gateway 變更,強制先走金絲雀部署(Canary)只放量 5% 流量進行驗證。
  3. 由 Platform 團隊在兩週內完成 Agent 事故知識庫的建置,實現變更前的自動警示。

「兩週時間,我們把這些系統性漏洞補起來。我向大家保證,這個錯誤在我們公司絕對不會有第四次發生的機會。」

財務長有些擔憂:「Bill,難道就這樣算了?不對人做出任何懲罰嗎?」

「這不叫算了,他們每個人都必須為此負責——但他們負責的是『動手去修改並加固系統』。Platform Lead 負責第一項、Data Lead 負責第二項、SRE 負責第三項。兩週後我們在線上看加固成果。」

責任的定義,正式從「誰按錯按鈕」轉變為了「誰動手封堵了系統的漏洞」。

這才是讓組織在灰燼中重生、持續進化的第三航道(Third Way)精髓。


今日金句

「懲罰失敗,你最終只會得到一個更善於隱瞞失敗的懦弱團隊。萃取失敗,你才能真正獲得一個越來越強大的鋼鐵系統。」


留給你的問題

你們組織最近一次的線上重大事故檢討會議,最終得出的改善措施是「要求工程師以後要小心」,還是團隊真的動手修改了系統缺陷?

那些當初被口頭警告要求「工作要小心」的人,未來真的就沒有再出過錯了嗎?

Act 3 的大門已經向你敞開。在接下來的十天裡,我們將探討如何讓一個配置了 AI 的研發組織實現自我的持續學習與進化。

明天,當線上再次崩潰、高層與所有同仁都在等著看你如何公開點名戰犯時,你敢不敢站在所有人面前,底氣十足地說出「這件事不怪任何人」?

Day 22 見。


上一篇
Day 20: 你敢不敢讓 Biz 和 IT 說同一種語言?
下一篇
Day 22: 出事了,你敢不敢說「不怪任何人」?
系列文
Phoenix 2026:當《鳳凰專案》遇上 AI Agent —— 30 天 DevOps 職場 RPG 冒險27
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言